package com.ruoyi.psi.inventory.record.mapper;

import com.ruoyi.psi.inventory.record.domain.PurchaseOrderStockInRecord;
import com.ruoyi.psi.inventory.record.domain.StockInRecord;
import com.ruoyi.psi.inventory.record.domain.StockInRecordCond;

import java.util.List;

/**
 * 入库记录
 * 数据层接口
 */
public interface StockInRecordMapper {
    /**
     * 根据搜索条件所有入库记录
     * @param cond 搜索条件
     * @return
     */
    List<StockInRecord> selectStockInRecordList(StockInRecordCond cond);

    /**
     * 根据编号查询入库记录
     * @param stockInId
     * @return
     */
    StockInRecord selectStockInRecordById(String stockInId);

    /**
     * 根据编号编号查询入库记录
     * @param associationId
     * @return
     */
    StockInRecord selectStockInRecordByAssociationId(String associationId);

    /**
     * 新增入库记录
     * @param stockInRecord
     * @return
     */
    int insertStockInRecord(StockInRecord stockInRecord);

    /**
     * 修改入库记录
     * @param stockInRecord
     * @return
     */
    int updateStockInRecord(StockInRecord stockInRecord);

    /**
     * 删除入库记录
     * @param stockInRecord
     * @return
     */
    int updateStockInRecordDeleteFlag(StockInRecord stockInRecord);

    /**
     * 获取最新的入库记录
     * @return
     */
    String getStockInId();

    /**
     * 根据搜索条件所有采购订单入库记录
     * @param cond 搜索条件
     * @return
     */
    List<PurchaseOrderStockInRecord> selectPurchaseOrderStockInRecordList(StockInRecordCond cond);
}
